/**************************************************************************************************
**                                                                                               **
**  文件名称:  dal_input_reg.c                                                                   **
**  版权所有:  CopyRight @ Xiamen Yaxon NetWork CO.LTD. 2017                                     **
**  文件描述:  I/O口传感器注册信息表管理                                                         **
**  ===========================================================================================  **
**  创建信息:  | 2017-7-27 | LEON | 创建本模块                                                   **
**  ===========================================================================================  **
**  修改信息:  单击此处添加....                                                                  **
**************************************************************************************************/
#ifndef DAL_INPUT_REG_H
#define DAL_INPUT_REG_H

/*************************************************************************************************/
/*                           定义所有IO统一编号                                                  */
/*************************************************************************************************/
#ifdef INPUT_DEF
#undef INPUT_DEF
#endif

#define INPUT_DEF(_PORT_ID_, _GBASE_, _PIN_, _LOW_TIME_, _HIGH_TIME_)          _PORT_ID_,

typedef enum {
    #include "dal_input_reg.def"
    INPUT_PORT_MAX
} INPUT_PORT_E;

/*************************************************************************************************/
/*                           定义模块数据结构                                                    */
/*************************************************************************************************/
typedef struct {
    INPUT_PORT_E  port_id;                                                     /* 统一IO编号 */
    INT32U        gbase;                                                       /* GPIO寄存器基准地址 */
    INT16U        pin;                                                         /* 对应GPIO管脚 */
    INT32U        ltime;                                                       /* 低脉冲滤波时间，单位：毫秒 */
    INT32U        htime;                                                       /* 高脉冲滤波时间，单位：毫秒 */
} INPUT_IO_T;

INPUT_IO_T const *DAL_INPUT_GetCfgTblInfo(INPUT_PORT_E port);
INT8U DAL_INPUT_GetIOMax(void);

#endif


